// {{.TableCamel}}Api 管理对象。
var {{.Table}} = &{{.TableCamel}}Api{}

{{.TableComment}}
type {{.TableCamel}}Api struct {}

// 创建一条记录 方法: Post 参数: dao.{{.Table}} 路由: /create
func (it *{{.TableCamel}}Api) Create (r *gin.Context) {
    // 将请求参数解析到 ptr上
    var ptr dao.{{.Table}}
    err := r.ShouldBindJSON(&ptr)
    if err != nil {
        r.JSON(http.StatusBadRequest, gin.H{"msg": err.Error()})
        r.Abort()
    }
    // .... 业务逻辑
    /*
    if err !=nil {
    		r.JSON(http.StatusBadRequest, gin.H{"msg":"失败!"})
    		r.Abort()
    	}else {
    		r.JSON(http.StatusOK, gin.H{"msg":"成功!","data":res})
    	}*/
}
// 更新一条记录 方法: Post 参数: id,dao.{{.Table}} 路由: /update/:id
func (it *{{.TableCamel}}Api) Update (r *gin.Context) {
    //str := r.Param("id")
    //id,_ := strconv.Atoi(str)
    // 将请求参数解析到 ptr上
    var ptr dao.{{.Table}}
    err := r.ShouldBindJSON(&ptr)
    if err != nil {
        r.JSON(http.StatusBadRequest, gin.H{"msg": err.Error()})
        r.Abort()
    }
    // .... 业务逻辑
    /*
    if err !=nil {
       	    r.JSON(http.StatusBadRequest, gin.H{"msg":"失败!"})
        	r.Abort()
       }else {
       	    r.JSON(http.StatusOK, gin.H{"msg":"成功!","data":res})
    }*/
}
// 删除一条记录 方法: Get 参数: id 路由: /delete/:id
func (it *{{.TableCamel}}Api) Delete (r *gin.Context) {
    //str := r.Param("id")
    //id,_ := strconv.Atoi(str)
    // 将请求参数解析到 ptr上
    var ptr interface{}
    err := r.ShouldBindJSON(&ptr)
    if err != nil {
        r.JSON(http.StatusBadRequest, gin.H{"msg": err.Error()})
        r.Abort()
    }
    // .... 业务逻辑
    /*
    if err !=nil {
       	    r.JSON(http.StatusBadRequest, gin.H{"msg":"失败!"})
        	r.Abort()
       }else {
       	    r.JSON(http.StatusOK, gin.H{"msg":"成功!","data":res})
    }*/
}

// 查询一条记录 方法: Get 参数: id 路由: /:id
func (it *{{.TableCamel}}Api) Select (r *gin.Context) {
    //str := r.Param("id")
    //id,_ := strconv.Atoi(str)
    // 将请求参数解析到 ptr上
    var ptr interface{}
    err := r.ShouldBindJSON(&ptr)
    if err != nil {
        r.JSON(http.StatusBadRequest, gin.H{"msg": err.Error()})
        r.Abort()
    }
    // .... 业务逻辑
    /*
    if err !=nil {
       	    r.JSON(http.StatusBadRequest, gin.H{"msg":"失败!"})
        	r.Abort()
       }else {
       	    r.JSON(http.StatusOK, gin.H{"msg":"成功!","data":res})
    }*/
}

// 分页查询，返回一个切片 方法: Get 参数: keyword,page_num,page_size 路由: /list
func (it *{{.TableCamel}}Api) List (r *gin.Context) {
    // 将请求参数解析到 ptr上
    var ptr interface{}
    err := r.ShouldBindJSON(&ptr)
    if err != nil {
        r.JSON(http.StatusBadRequest, gin.H{"msg": err.Error()})
        r.Abort()
    }
    // .... 业务逻辑
    /*
    if err !=nil {
       	    r.JSON(http.StatusBadRequest, gin.H{"msg":"失败!"})
        	r.Abort()
       }else {
       	    r.JSON(http.StatusOK, gin.H{"msg":"成功!","data":res})
    }*/
}
